//
// Created by bill3000 on 2/14/21.
//

#ifndef INTELLI_UI_HPP
#define INTELLI_UI_HPP

#include "../mq/queue.hpp"
#include "../log/logger.hpp"

class UIInteractive {
public:
    static void start_ui_interactive_thread();
    static void wait_ui_interactive_thread();
    static void stop_ui_interactive_thread();
    static void dispose();

    UIInteractive();
    ~UIInteractive() = default;
    void runner();

private:
    static void* ui_interactive_thread(void *data);
    static pthread_t ui_interactive_thread_id;
    static UIInteractive *ui;

    Queue *mq;
};

#endif //INTELLI_UI_HPP
